#ifndef __BSP_MQTT_H__
#define __BSP_MQTT_H__

#include "mqtt_client.h"

typedef enum
{
    MQTT_IS_CREATED,    //表示当前MQTT已经创建了
    MQTT_NO_CREATED,     //表示当前MQTT还没有创建
    MQTT_CREATE_ALL,
}MQTT_CREATED_ENUM_Typedef;


typedef enum
{
    MQTT_CONNECTED,    //表示当前MQTT已经连上了
    MQTT_DISCONNECT,   //表示当前MQTT已经断开了
    MQTT_STATE_ALL,
}MQTT_STATE_ENUM_Typedef;

typedef enum
{
    WIFI_CONN_ING,              //wifi连接中
    WIFI_SMARTCONFIG,           //配网中
    WIFI_CONED,                 //wifi已经连上了
    WIFI_PREDISABLE,            //准备关闭wifi
    WIFI_DISABLE,               //wifi关闭
    WIFI_ALL,
}WIFI_STATE_ENUM_Typedef;


extern TaskHandle_t smartconfigTaskHandler;

extern WIFI_STATE_ENUM_Typedef current_wifi_state;  

extern esp_mqtt_client_handle_t mqtt_client;

extern MQTT_CREATED_ENUM_Typedef mqtt_is_create;    //指示当前MQTT是否已经创建
extern MQTT_STATE_ENUM_Typedef mqtt_is_connected; //指示当前MQTT是否已连接

extern char mqtt_rev_buffer[1024];   


void wifi_turnon(void);
void wifi_turnoff(void); 

void wifi_destroy(void);
void wifi_activate(void);
void wifi_smartconfig(void);  


#endif